뷰의 너비와 높이 지정하기 :: 안드로이드 설치 및 개발[SSISO Community]
 
SSISO 카페 SSISO Source SSISO 구직 SSISO 쇼핑몰 SSISO 맛집
추천검색어 : JUnit   Log4j   ajax   spring   struts   struts-config.xml   Synchronized   책정보   Ajax 마스터하기   우측부분

안드로이드 설치 및 개발
[1]
등록일:2018-07-21 09:39:23 (0%)
작성자:
제목:뷰의 너비와 높이 지정하기

시작에 앞서 뷰가 차지하는 영역을 볼 수 있도록 배경색을 칠해놓겠습니다.

 

​android:background는 뷰의 배경색을 지정하는 속성입니다.

색상은 HTML 칼라 코드로 지정합니다.





LinearLayout을 노란색, TextView를 연두색으로 칠했습니다.









LinearLayout과 TextView의 속성을 보면 layout_widthlayout_height가 있을 겁니다.


이 속성은 뷰의 너비높이를 지정하는 속성으로,
기본값이 없기 때문에 뷰가 반드시 가져야 하는 속성이며, 생략할시 오류를 뿜게 됩니다.



이런 식으로 말이죠. (무서운 빨간 줄)

​layout_width와 layout_height에는 match_parent, wrap_content라는 특수한 값을 지정할 수 있습니다.


match_parent는 자신의 부모 즉, 자기를 감싸고 있는 뷰의 크기만큼 자리를 차지하겠다는 뜻입니다.

match = 맞추다, parent = 부모의 크기만큼

​(보통 자기를 감싸고 있는 뷰부모, 자기 안에 있는 뷰자식이라 부릅니다.)




LinearLayout의 width와 height에 적용되어 있는데,
LinearLayout은 자기를 감싸고 있는 뷰가 없으므로 화면의 크기에 딱 맞게 됩니다.







그래서 화면 전체가 노랗게 나오죠.







wrap_content자기가 사용하는 영역 만큼만 차지하겠다는 뜻입니다.

wrap = 꽁꽁 둘러싸다, content = 콘텐츠 영역만큼



TextView의 width와 height에 적용되어 있는데,




글자 크기만큼만 자리를 차지하게 됩니다.









자, 설명을 들었으니 이제 실습을 해봅시다.



TextView의 width를 match_parent로 바꿔 볼까요?






TextView의 너비가 LinearLayout의 너비에 맞게 늘어났습니다!









이번엔 반대로 TextView의 너비를 wrap_content로 다시 돌려놓고
LinearLayout의 너비를 wrap_content로 바꿔봅시다.






​LinearLayout의 너비가 텍스트뷰의 너비만큼 줄어들었습니다!

(​레이아웃에 wrap_content를 적용하면 자식 뷰의 크기에 딱 맞게 됩니다.)


이제 감이 오셨겠지요.










layout_width와 layout_height는 특수값 말고도 고정 길이를 줄 수 있습니다.



'250mm' 이런 식으로 원하는 길이 + 단위를 지정하면 됩니다. (단, 길이와 단위 사이에 띄어쓰기를 하면 안 됩니다.)


사용가능한 단위로는 dp, in, mm, pt, px, sp가 있습니다.

in(인치), mm, pt, px는 다들 아시겠지만 dpsp는 생소하죠?




아시다시피 안드로이드 스마트폰은 해상도가 매우 다양합니다.


이러한 환경에서 픽셀을 단위로 사용한다면 같은 5인치 크기의 폰이라도

해상도가 960×640인 폰과 1920×1080인 폰에서는 매우 다른 크기로 보입니다.



dp는 이러한 문제점을 해결하기 위해 만들어진 단위입니다.
dp를 사용하면 해상도의 밀도에 맞게 크기가 조정되기 때문에 어떠한 해상도를 가진 기기에서도 똑같은 크기로 보입니다.


그래서 고정 길이를 사용할 때는 dp를 주로, 아니 거의 100% 사용하죠.




참고로 단위를 px로 주려고 하면


 


당장 dp로 단위를 바꾸라고 경고를 날립니다.


px말고 다른 단위를 집어넣어도 그 단위를 지원하는 기기가 없을 수 있다면서 경고를 띄우죠.

사실상 사용할 수 있는 단위는 dp와 sp밖에 없는 셈입니다.









sp글자크기에 주로 사용하는 단위입니다.


         


모두들 핸드폰의 설정창을 잘 보면 '접근성'이라고 해서 눈이 나쁘신 어르신분들을 위해

글자크기를 키워주는 설정이 있다는 걸 잘 아실겁니다.



sp를 사용하면 이 접근성 설정에 비례하게 글자 크기가 늘어납니다!


즉, 정상적인 크기를 사용하는 일반인한테는 글자가 그대로 보이지만,
글자크기를 크게 설정한 어르신한테는 크게 보이는 거죠!




안드로이드 디자인 가이드에 따르면 글자 크기로 sp 단위를 사용하는 게 권장되지만,
시스템 설정에 따라 글자 크기가 달라보이는 게 정 싫다 하시는 분들은 글자 크기도 sp 대신 dp 단위를 주면 됩니다.







이번 편은 평소보다 글이 좀 많네요.

모두들 긴 글 읽느라 수고하셨습니다!

 



블로그 하단의 '이웃으로 추가'를 누르면

안드로이드 강좌가 올라오는 것을 실시간으로 확인할 수 있어요!


출처 : https://m.blog.naver.com/eominsuk55/220222304410

[본문링크] 뷰의 너비와 높이 지정하기
[1]
코멘트(이글의 트랙백 주소:/cafe/tb_receive.php?no=34741
작성자
비밀번호

 

SSISOCommunity

[이전]

Copyright byCopyright ⓒ2005, SSISO Community All Rights Reserved.